.TH std::unique_ptr::operator[] 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::unique_ptr::operator[] \- std::unique_ptr::operator[]

.SH Synopsis
   T& operator[]( std::size_t i ) const;  \fI(since C++11)\fP
                                          (constexpr since C++23)

   operator[] provides access to elements of an array managed by a unique_ptr.

   The parameter i shall be less than the number of elements in the array; otherwise,
   the behavior is undefined.

   This member function is only provided for specializations for array types.

.SH Parameters

   i - the index of the element to be returned

.SH Return value

   Returns the element at index i, i.e. get()[i].

.SH Example


// Run this code

 #include <iostream>
 #include <memory>

 int main()
 {
     const int size = 10;
     std::unique_ptr<int[]> fact(new int[size]);

     for (int i = 0; i < size; ++i)
         fact[i] = (i == 0) ? 1 : i * fact[i - 1];

     for (int i = 0; i < size; ++i)
         std::cout << i << "! = " << fact[i] << '\\n';
 }

.SH Output:

 0! = 1
 1! = 1
 2! = 2
 3! = 6
 4! = 24
 5! = 120
 6! = 720
 7! = 5040
 8! = 40320
 9! = 362880

.SH See also

   get returns a pointer to the managed object
       \fI(public member function)\fP
